package ucla.axelia.controlador.servicios;

import java.util.Date;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.obelisco.modelo.data.DataGenerica;

import ucla.axelia.controlador.interfaces.IServicioAdministracionReporteInicioFin;
import ucla.axelia.modelo.dao.ServicioAsistenciaVoluntarioDAO;
import ucla.axelia.modelo.data.AsistenciaVoluntario;

public class ServicioAdministracionReporteHorasVoluntariosPorRol implements
		IServicioAdministracionReporteInicioFin {

	private ServicioAsistenciaVoluntarioDAO servicioAsistenciaVoluntarioDAO;
	
	@Override
	public List<AsistenciaVoluntario> obtenerLista(Date fechaInicio, Date fechaFin) {
		Session sesion = servicioAsistenciaVoluntarioDAO.getSessionFactory().getCurrentSession();
		Query query = sesion.createQuery("from AsistenciaVoluntario" +
				" where fechaRegistro between :fechaInicio and :fechaFin " +
				" and estado = :estado" +
				" order by voluntario.codigoVoluntario, rolVoluntario.idRolVoluntario");
		query.setDate("fechaInicio", fechaInicio);
		query.setDate("fechaFin", fechaFin);
		query.setString("estado", DataGenerica.DATA_ACTIVO);
		return query.list();
	}

	
	// Getters y Setters
	
	public ServicioAsistenciaVoluntarioDAO getServicioAsistenciaVoluntarioDAO() {
		return servicioAsistenciaVoluntarioDAO;
	}

	public void setServicioAsistenciaVoluntarioDAO(
			ServicioAsistenciaVoluntarioDAO servicioAsistenciaVoluntarioDAO) {
		this.servicioAsistenciaVoluntarioDAO = servicioAsistenciaVoluntarioDAO;
	}

}
